Analysis of Execution Behavior for Testing of Multi-Tasking Real-Time Systems

نویسنده

  • Anders Pettersson
چکیده

An important issue in software testing is the ability to observe the execution of the software; this is especially true for real-time systems (RTS). RTS are difficult to observe, and the ability to test RTS is inherently low. Embedded RTS have few interfaces for observation and the execution of multi-tasking RTS is usually non-deterministic. As a consequence, testing of RTS cannot be exercised with existing tools for sequential programs. New tools and methods are necessary that enable observation of the system despite few interfaces while at the same time address the non-determinism issue. The contribution in this thesis is three-folded: (1) we present a tool suite that allows deterministic testing of multi-tasking RTS, in which synchronization of tasks is resolved off-line or on-line. (2) We show by building a test bed how to use the tool suite. (3) We present the design and functionality of Asterix the Real-Time Kernel. In (1) we propose an analysis tool that derives all possible system level control-flow paths of multi-tasking RTS in which synchronization between communicating tasks are resolved on-line by using the Priority Ceiling Emulation Protocol (PCEP; also know as the Immediate Inheritance Protocol). The analysis tool is an extension of an existing tool in which synchronization were resolved off-line by using release time offsets or priorities to separate the tasks in time. Based on the number of derived control-flow paths test coverage criteria are defined, and estimations of test effort can be done early in the development of a system. In (2) we show how the defined test coverage criteria relate to the number of traversed control-flow paths during test execution. We also show how the estimation of tasks’ execution times affects the analysis. The analysis tool is applied on multi-tasking RTS in which the tasks are synchronized offline. The real-time applications are then exercised on the test bed using Asterix as the operating system. In (3) we present a small-sized real-time kernel named Asterix that has support for software based instrumentation of kernel events as well as application usage of system calls. The major problem of software instrumentation is the change in execution behavior that occurs when a RTS is executed without or without the probes. In Asterix we avoid this probe-effect by leaving the probes in the kernel during normal operation. Also, we present a literature survey covering the state-of-the-art in the field real-time systems testing. To Andreas and Emelie

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Testing distributed real-time systems

For testing of sequential software it is usually sufficient to provide the same input (and program state) in order to reproduce the output. For real-time systems, on the other hand, we need also to control, or observe, the timing and order of the inputs. If the system additionally is multitasking, we also need to take timing and the concurrency of the executing tasks into account. In this paper...

متن کامل

Finding DU-Paths for Testing of Multi-Tasking Real-Time Systems using WCET Analysis

Memory corruption is one of the most common software failures. For sequential software and multitasking software with synchronized data accesses, it has been shown that program faults causing memory corruption can be detected by analyzing the relations between defines and uses of variables (DU-based testing). However, such methods are insufficient in preemptive systems, since they lack the abil...

متن کامل

Modelling Real-time Multi-tasking Systems with Timed Traces Note: Most Svrc Technical Reports Are Available Modelling Real-time Multi-tasking Systems with Timed Traces

We formalise the behaviour of non-preemptive, real-time, multi-tasking systems by expressing the computational components assumed by real-time scheduling theory in a trace-based notation. The model is suitable as a target implementation domain for dataaow reenements, amenable to formal schedulability analysis, and implementable in a concurrent real-time programming language.

متن کامل

Monitoring, Testing and Debugging of Distributed Real-Time Systems

Testing is an important part of any software development project, and can typically surpass more than half of the development cost. For safety-critical computer based systems, testing is even more important due to stringent reliability and safety requirements. However, most safety-critical computer based systems are real-time systems, and the majority of current testing and debugging techniques...

متن کامل

Design for Deterministic Monitoring

In order to test, or debug, a system we must observe its run-time behavior and deem how well the observations comply with the system requirements. There are two significant differences between debugging and testing of software for desktop computers and embedded real-time systems: (1) It is more difficult to observe embedded computer systems, simply because they are embedded, and that they thus ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003